home *** CD-ROM | disk | FTP | other *** search
- package
- {
- import Forms.DressupResultForm;
-
- public class Profile
- {
-
- public static const kTutorial_PowerupUpReshuffle:int = 8;
-
- public static const kTutorial_PowerupUpPoseLineup:int = 32;
-
- public static var ProfileList:Array = new Array();
-
- public static var Cheat:Boolean = false;
-
- public static const kTutorial_FashionStyle:int = 1024;
-
- public static var CurrentProfile:Profile = null;
-
- public static const kTutorial_BoyfriendPopup:int = 2048;
-
- public static const kTutorial_Concave:int = 128;
-
- public static const kTutorial_PowerupUpDoubleDamage:int = 64;
-
- public static const kTutorial_DressupMask:int = 4;
-
- public static const kTutorial_PowerupUpAddTime:int = 16;
-
- public static const MAX_CLOTHES:int = 2000;
-
- public static const kTutorial_MapMask:int = 1;
-
- public static const kTutorial_LevelSelectorDisabled:int = 8192;
-
- public static const kTutorial_TipsMask:int = 2;
-
- public static const kTutorial_LevelSelectorEnabled:int = 4096;
-
- public static const kTutorial_MapPress:int = 512;
-
- public static const kTutorial_Honors:int = 256;
-
-
- public var Average_A:int = 0;
-
- public var TutorialMask:int = 0;
-
- public var LevelScore:int;
-
- public var PowerupsUsed:int = 0;
-
- public var TotalTime:int;
-
- public var BestLevelScore:Array;
-
- public var Average_B:int = 0;
-
- public var Average_C:int = 0;
-
- public var SkipTutorial:Boolean = false;
-
- public var LastTime:int;
-
- public var LastRanking:int;
-
- public var Name:String;
-
- public var bRestartgame:int = 0;
-
- public var Achievements:PairDatabase;
-
- public var UnlockedClothes:String;
-
- public var Ending:int = 0;
-
- public var UnlockedLevels:Array;
-
- public var BestLevelGrade:Array;
-
- public var bTutorial:int = 0;
-
- public var MapPressTutorial:Boolean = false;
-
- public var Affinities:PairDatabase;
-
- public var CuttingEdge:int = 0;
-
- public var LastLevel:int;
-
- public var Impress:int = 0;
-
- public function Profile()
- {
- TutorialMask = 0;
- PowerupsUsed = 0;
- MapPressTutorial = false;
- SkipTutorial = false;
- UnlockedLevels = new Array();
- BestLevelScore = new Array();
- BestLevelGrade = new Array();
- Affinities = new PairDatabase();
- Achievements = new PairDatabase();
- Ending = 0;
- bTutorial = 0;
- bRestartgame = 0;
- Impress = 0;
- Average_A = 0;
- Average_B = 0;
- Average_C = 0;
- CuttingEdge = 0;
- super();
- resetCurrentProfile();
- }
-
- public static function getProfile(param1:String) : Profile
- {
- var _loc2_:Profile = null;
- for each(_loc2_ in ProfileList)
- {
- if(_loc2_.Name == param1)
- {
- return _loc2_;
- }
- }
- return null;
- }
-
- public function save() : Array
- {
- var _loc1_:Array = null;
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:Number = NaN;
- var _loc5_:String = null;
- var _loc6_:String = null;
- _loc1_ = new Array();
- _loc2_ = int(UnlockedLevels.length);
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc4_ = BestLevelScore[_loc3_] as Number;
- _loc5_ = BestLevelGrade[_loc3_] as String;
- _loc1_.push(_loc4_);
- _loc1_.push(_loc5_);
- _loc3_++;
- }
- _loc1_.push(CuttingEdge);
- _loc1_.push(Average_C);
- _loc1_.push(Average_B);
- _loc1_.push(Average_A);
- _loc1_.push(Impress);
- _loc1_.push(bRestartgame);
- _loc1_.push(bTutorial);
- _loc1_.push(PowerupsUsed);
- _loc1_.push(TotalTime);
- _loc1_.push(LastLevel);
- Achievements.clear();
- _loc1_.push(Achievements.save());
- Affinities.clear();
- _loc1_.push(Affinities.save());
- _loc1_.push(TutorialMask);
- _loc1_.push(LevelScore);
- _loc1_.push(UnlockedClothes);
- _loc1_.push(TotalScore);
- _loc1_.push(LastTime);
- _loc1_.push(LastRanking);
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc6_ = UnlockedLevels[_loc3_] as String;
- _loc1_.push(_loc6_);
- _loc3_++;
- }
- _loc1_.push(UnlockedLevels.length);
- _loc1_.push(Name);
- return _loc1_;
- }
-
- public function setGradeAndScoreForLevel(param1:String, param2:Number, param3:String) : void
- {
- var _loc4_:int = 0;
- var _loc5_:String = null;
- var _loc6_:Number = NaN;
- if((_loc4_ = getUnlockedLevelIndex(param1)) >= 0)
- {
- _loc5_ = BestLevelGrade[_loc4_] as String;
- _loc6_ = BestLevelScore[_loc4_] as Number;
- if(DressupResultForm.getLetterScore(param3) > DressupResultForm.getLetterScore(_loc5_))
- {
- _loc5_ = param3;
- }
- if(param2 > _loc6_)
- {
- _loc6_ = param2;
- }
- BestLevelGrade[_loc4_] = _loc5_;
- BestLevelScore[_loc4_] = _loc6_;
- }
- }
-
- public function set TotalScore(param1:int) : void
- {
- }
-
- public function getLevelForStore(param1:String) : String
- {
- var _loc2_:String = null;
- var _loc3_:Level = null;
- var _loc4_:Level = null;
- for each(_loc2_ in UnlockedLevels)
- {
- _loc3_ = Database.getInstance().getLevel(_loc2_);
- if(_loc3_ != null)
- {
- if(_loc3_.Store == param1)
- {
- if(isLevelUnlocked(_loc3_.Name))
- {
- if(!isLevelUnlocked(_loc3_.Next))
- {
- return _loc3_.Name;
- }
- if((_loc4_ = Database.getInstance().getLevel(_loc3_.Next)) == null)
- {
- return _loc3_.Name;
- }
- if(_loc4_.Store != _loc3_.Store)
- {
- return _loc3_.Name;
- }
- }
- }
- }
- }
- return "";
- }
-
- public function resetCurrentProfile() : void
- {
- var _loc1_:int = 0;
- UnlockedLevels = new Array();
- BestLevelGrade = new Array();
- BestLevelScore = new Array();
- bTutorial = 0;
- unlockLevel("Tutorial");
- Affinities.clear();
- LastRanking = 0;
- LastTime = 0;
- TotalScore = 0;
- TotalTime = 0;
- LevelScore = 0;
- LastLevel = 0;
- PowerupsUsed = 0;
- bRestartgame = 0;
- UnlockedClothes = "";
- _loc1_ = 0;
- while(_loc1_ < MAX_CLOTHES)
- {
- UnlockedClothes += "0";
- _loc1_++;
- }
- }
-
- public function isAchievementUnlocked(param1:String) : Boolean
- {
- return Achievements.getPairCounter(param1,"Unlocked") > 0;
- }
-
- public function unlockLevel(param1:String) : void
- {
- if(!isLevelUnlocked(param1))
- {
- UnlockedLevels.push(param1);
- BestLevelGrade.push("F");
- BestLevelScore.push(0);
- }
- }
-
- public function isStoreComplete(param1:String) : Boolean
- {
- var _loc2_:Level = null;
- if(isStoreUnlocked(param1))
- {
- for each(_loc2_ in Database.getInstance().Levels)
- {
- if(!isLevelUnlocked(_loc2_.Next) && _loc2_.Store == param1)
- {
- return false;
- }
- }
- return true;
- }
- return false;
- }
-
- public function incrementA() : int
- {
- if(Average_A > 25)
- {
- return Average_A;
- }
- ++Average_A;
- return Average_A;
- }
-
- public function incrementImpress() : int
- {
- if(Impress > 50)
- {
- return Impress;
- }
- ++Impress;
- return Impress;
- }
-
- public function getLevelPrefixForStore(param1:String) : String
- {
- var _loc2_:String = null;
- var _loc3_:Level = null;
- for each(_loc2_ in UnlockedLevels)
- {
- _loc3_ = Database.getInstance().getLevel(_loc2_);
- if(_loc3_.Store == param1)
- {
- if(_loc3_.Name.indexOf("Level") == 0)
- {
- return _loc3_.Name.substr(0,_loc3_.Name.indexOf("-"));
- }
- }
- }
- return "";
- }
-
- public function incrementC() : int
- {
- if(Average_C > 3)
- {
- return Average_C;
- }
- ++Average_C;
- return Average_C;
- }
-
- public function getBestScoreForLevel(param1:String) : Number
- {
- var _loc2_:int = 0;
- _loc2_ = getUnlockedLevelIndex(param1);
- if(_loc2_ >= 0)
- {
- return BestLevelScore[_loc2_] as Number;
- }
- return 0;
- }
-
- public function get TotalScore() : int
- {
- var _loc1_:Number = NaN;
- var _loc2_:Number = NaN;
- _loc1_ = 0;
- for each(_loc2_ in BestLevelScore)
- {
- _loc1_ += _loc2_;
- }
- return _loc1_ as int;
- }
-
- public function incrementB() : int
- {
- if(Average_B > 3)
- {
- return Average_B;
- }
- ++Average_B;
- return Average_B;
- }
-
- public function getLastLevel() : Level
- {
- var _loc1_:Level = null;
- var _loc2_:String = null;
- var _loc3_:String = null;
- for each(_loc2_ in UnlockedLevels)
- {
- _loc1_ = Database.getInstance().getLevel(_loc2_);
- if(_loc1_ == null)
- {
- return null;
- }
- _loc3_ = _loc1_.Next;
- if(_loc3_ == "")
- {
- return _loc1_;
- }
- if(!isLevelUnlocked(_loc3_))
- {
- return _loc1_;
- }
- }
- return null;
- }
-
- public function isStoreUnlocked(param1:String) : Boolean
- {
- var _loc2_:String = null;
- var _loc3_:Database = null;
- var _loc4_:Level = null;
- for each(_loc2_ in UnlockedLevels)
- {
- _loc3_ = Database.getInstance();
- _loc4_ = _loc3_.getLevel(_loc2_);
- if(_loc2_ != "" && _loc4_.Store == param1)
- {
- return true;
- }
- }
- return false;
- }
-
- protected function getUnlockedLevelIndex(param1:String) : int
- {
- var _loc2_:int = 0;
- _loc2_ = 0;
- while(_loc2_ < UnlockedLevels.length)
- {
- if(UnlockedLevels[_loc2_] as String == param1)
- {
- return _loc2_;
- }
- _loc2_++;
- }
- return -1;
- }
-
- public function hasUnlockedClothes() : Boolean
- {
- var _loc1_:int = 0;
- if(UnlockedClothes != null)
- {
- _loc1_ = 0;
- while(_loc1_ < MAX_CLOTHES)
- {
- if(UnlockedClothes.charAt(_loc1_) != "0")
- {
- return true;
- }
- _loc1_++;
- }
- }
- return false;
- }
-
- public function isItemUnlocked(param1:String) : Boolean
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- _loc2_ = MainDocument.Package.getTemplateIndexByName(param1);
- if(_loc2_ >= 0)
- {
- _loc3_ = _loc2_;
- return UnlockedClothes.charAt(_loc3_) != "0";
- }
- return false;
- }
-
- public function load(param1:Array) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- var _loc4_:int = 0;
- var _loc5_:String = null;
- var _loc6_:Number = NaN;
- Name = param1.pop() as String;
- _loc2_ = param1.pop() as int;
- UnlockedLevels = new Array();
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- UnlockedLevels.push(param1.pop() as String);
- BestLevelGrade.push("");
- BestLevelScore.push(0);
- _loc3_++;
- }
- if(param1.length > 0)
- {
- LastRanking = param1.pop() as int;
- LastTime = param1.pop() as int;
- TotalScore = param1.pop() as int;
- }
- else
- {
- LastRanking = 0;
- LastTime = 0;
- TotalScore = 0;
- }
- if(param1.length > 0)
- {
- UnlockedClothes = param1.pop() as String;
- }
- UnlockedClothes = "";
- _loc4_ = 0;
- while(_loc4_ < MAX_CLOTHES)
- {
- UnlockedClothes += "0";
- _loc4_++;
- }
- if(param1.length > 0)
- {
- LevelScore = param1.pop() as int;
- }
- LevelScore = 0;
- if(param1.length > 0)
- {
- TutorialMask = param1.pop() as int;
- }
- TutorialMask = 0;
- Affinities = new PairDatabase();
- if(param1.length > 0)
- {
- Affinities.load(param1.pop() as Array);
- trace("Profile : " + Name);
- Affinities.dump();
- Affinities.clear();
- }
- Achievements = new PairDatabase();
- if(param1.length > 0)
- {
- Achievements.load(param1.pop() as Array);
- Achievements.clear();
- }
- if(param1.length > 0)
- {
- LastLevel = param1.pop() as int;
- }
- LastLevel = 0;
- if(param1.length > 0)
- {
- TotalTime = param1.pop() as int;
- }
- TotalTime = 0;
- if(param1.length > 0)
- {
- PowerupsUsed = param1.pop() as int;
- }
- else
- {
- PowerupsUsed = 0;
- }
- if(param1.length > 0)
- {
- bTutorial = param1.pop() as int;
- }
- bTutorial = 0;
- if(param1.length > 0)
- {
- bRestartgame = param1.pop() as int;
- }
- bRestartgame = 0;
- if(param1.length > 0)
- {
- Impress = param1.pop() as int;
- }
- Impress = 0;
- if(param1.length > 0)
- {
- Average_A = param1.pop() as int;
- }
- Average_A = 0;
- if(param1.length > 0)
- {
- Average_B = param1.pop() as int;
- }
- Average_B = 0;
- if(param1.length > 0)
- {
- Average_C = param1.pop() as int;
- }
- Average_C = 0;
- if(param1.length > 0)
- {
- CuttingEdge = param1.pop() as int;
- }
- CuttingEdge = 0;
- if(param1.length > 0)
- {
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc5_ = param1.pop() as String;
- _loc6_ = param1.pop() as Number;
- _loc5_ = "C";
- _loc6_ = 0;
- BestLevelGrade[_loc3_] = _loc5_;
- BestLevelScore[_loc3_] = _loc6_;
- _loc3_++;
- }
- }
- else
- {
- _loc3_ = 0;
- while(_loc3_ < _loc2_)
- {
- _loc5_ = "C";
- _loc6_ = 0;
- BestLevelGrade[_loc3_] = _loc5_;
- BestLevelScore[_loc3_] = _loc6_;
- _loc3_++;
- }
- }
- }
-
- public function unlockItem(param1:String) : void
- {
- var _loc2_:int = 0;
- var _loc3_:int = 0;
- _loc2_ = MainDocument.Package.getTemplateIndexByName(param1);
- if(_loc2_ >= 0)
- {
- _loc3_ = _loc2_;
- UnlockedClothes = UnlockedClothes.substr(0,_loc3_) + "1" + UnlockedClothes.substr(_loc3_ + 1);
- }
- }
-
- public function getBestGradeForLevel(param1:String) : String
- {
- var _loc2_:int = 0;
- _loc2_ = getUnlockedLevelIndex(param1);
- if(_loc2_ >= 0)
- {
- return BestLevelGrade[_loc2_] as String;
- }
- return "F";
- }
-
- public function isLevelUnlocked(param1:String) : Boolean
- {
- var _loc2_:Level = null;
- var _loc3_:String = null;
- if(param1 == "")
- {
- return true;
- }
- _loc2_ = Database.getInstance().getLevel(param1);
- if(_loc2_ == null)
- {
- return false;
- }
- for each(_loc3_ in UnlockedLevels)
- {
- if(_loc2_.Name == _loc3_)
- {
- return true;
- }
- }
- return false;
- }
- }
- }
-